Digital video is now in wide-spread use. Digital video is formed by sampling and quantizing an analog video signal. As raw digital video requires a large amount of bandwidth for transmission, digital video data is typically encoded before it is transmitted to a receiver.
Standard encoding algorithms include MPEG-1, MPEG-2 from ISO, H.261, H.264 from ITU-T, DV, QuickTime or another algorithm. Known video compression algorithms typically involve a lossy transform of images in the video sequence, which are then entropy coded to achieve efficient compression. MPEG-1 and MPEG-2 for instance make use of the discrete cosine transform (DCT) of blocks of pixels in images of the source video sequence, and run-length coding and entropy (Huffman) coding to further compress data. At the receiver, video is decompressed and additional processing of the decompressed video is performed to display the transmitted video.
Encoded video may take many formats and have numerous attributes. For example, images of varying size, color format (chroma format), structure (e.g. progressive or interlaced), etc. may be encoded.
A typical digital video receiver generally includes a decoder unit, and a video processor. The decoder accepts the compressed video stream and produces a decoded video sequence. Decoding is achieved by reversing the transformation process that took place during encoding. After decoding, the video data is fed to a video processor. The video processor performs additional signal processing needed to reproduce the video on a display device. The video processor may, for example, scale the video to fit the decoded video onto the available display resolution of the display device; perform color space transformation to display YCrCb encoded video on an RGB display; and the like.
Attributes of the decoded video stream may change on any given frame boundary or within a given frame, depending on the way the original video source was encoded. This may happen for example when commercials are inserted in a video stream for broadcast. This may also be observed, at the boundary of two sequences when the decoder decompresses a concatenated sequence from two or more sources.
For example, MPEG-2 may be field-encoded or frame-encoded. Field-encoded video, odd numbered lines of a frame (called the top-field) are followed by even numbered lines of the frame (called the bottom-field) in alternating fashion. In contrast, frame-encoded video consists of non-interlaced (progressively scanned line by line) video. An MPEG-2 video sequence may have a mixture of pictures that which may be fields or frames in the same sequence. The encoder may decide on a frame by frame basis, to use two field-pictures or one frame-picture to encode an incoming frame. Since the use of an incorrect picture structure by the decoder, may lead to severe distortions, the video processor must receive and process the picture structure type information before a picture is processed and the associated frame is displayed.
Other properties that may change within the video stream also include resolution, picture structure type (field or frame), and chroma format (or pixel format).
In conventional video receivers, changes in the properties or attributes of decoded video frames are first detected by the decoder and are propagated through to the video processor. Software is typically used to transfer attribute data between the decoder and the video processor.
Unfortunately, software often incurs delays and time may elapse before the video processor receives the new properties or attributes of a decompressed video frame from the decoder. During this elapsed time, the decoded video frame exhibits undesirable visual artifacts when displayed, as the video processor operates under wrong parameters. Depending on how frequently these video attributes change, and the delay in transferring the attribute change to the video processor, an unacceptable number of frames may be incorrectly displayed during playback.
Accordingly, there is a need for a video receiver capable of quickly reacting to changes in video attributes of a digital video stream.